home *** CD-ROM | disk | FTP | other *** search
-
- #define NOCOMM
- #include <windows.h>
- #include <memory.h>
-
- #include "hugearr.h"
-
- /* Get a huge array element. */
- /* VBM: Declare Function VBHugeGet% Lib "hugearr.dll" Alias "VBHugeGet" (ByVal Index%, ByVal el&, buffer As Any) */
- int FAR PASCAL
- VBHugeGet(int hArray, long element, LPBYTE buffer)
- {
- HPBYTE ptr; /* pointer to array element */
- PHUGEDESC pArray; /* pointer to array descriptor */
-
- DecCheckHandle(hArray);
-
- /* point to proper descriptor */
- pArray = (PHUGEDESC) LocalLock(hLocalMem) + hArray;
-
- CheckNotAllocYet(pArray);
- CheckSubscript(pArray, element, element);
-
- /* calculate pointer to element */
- ptr = (HPBYTE) GlobalLock(pArray -> handle);
-
- /* add offset of element */
- ptr += HugeElementOffset(element, pArray->perseg, pArray->recsize);
-
- /* copy data */
- _fmemcpy(buffer, ptr, pArray -> recsize);
-
- GlobalUnlock(pArray -> handle);
- LocalUnlock(hLocalMem);
- return HA_OK;
- }
-
- /* VBM: Declare Function VBHugeGetInt% Lib "hugearr.dll" Alias "VBHugeGetInt" (ByVal hArray%, ByVal el&) */
- int FAR PASCAL
- VBHugeGetInt(int hArray, long element)
- {
- int retval;
-
- VBHugeGet(hArray, element, (LPBYTE) &retval);
- return retval;
- }
-
- /* VBM: Declare Function VBHugeGetLong& Lib "hugearr.dll" Alias "VBHugeGetLong" (ByVal hArray%, ByVal el&) */
- long FAR PASCAL
- VBHugeGetLong(int hArray, long element)
- {
- long retval;
-
- VBHugeGet(hArray, element, (LPBYTE) &retval);
- return retval;
- }
-
- /* VBM: Declare Function VBHugeGetSingle! Lib "hugearr.dll" Alias "VBHugeGetSingle" (ByVal hArray%, ByVal el&) */
- float FAR PASCAL
- VBHugeGetSingle(int hArray, long element)
- {
- float retval;
-
- VBHugeGet(hArray, element, (LPBYTE) &retval);
- return retval;
- }
-
- /* VBM: Declare Function VBHugeGetDouble# Lib "hugearr.dll" Alias "VBHugeGetDouble" (ByVal hArray%, ByVal el&) */
- double FAR PASCAL
- VBHugeGetDouble(int hArray, long element)
- {
- double retval;
-
- VBHugeGet(hArray, element, (LPBYTE) &retval);
- return retval;
- }
-
- /* VBM: Declare Function VBHugeGetCurrency@ Lib "hugearr.dll" Alias "VBHugeGetCurrency" (ByVal hArray%, ByVal el&) */
- currency FAR PASCAL
- VBHugeGetCurrency(int hArray, long element)
- {
- currency retval;
-
- VBHugeGet(hArray, element, (LPBYTE) &retval);
- return retval;
- }
-